﻿/*
**  文件说明：常用函数库
**  
**  创建人： lianglijin
**
**  创建时间：2009.05.13
*/

/*
* 去掉字符串的前后空格。
*/
String.prototype.trim = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, "");
}
/*
* 判断字符串是否为日期格式。
*/
String.prototype.isDateTime = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^([12][0-9]{3})-(0?[0-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) ([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]$/)>-1)?true:false;
}
/*
**判断字符串是否为数字格式。
*/
String.prototype.isNumeric = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^[-\+]?\d+(\.?\d+)?$/)>-1)?true:false;
}
/*
* 判断字符串是否为整数格式。
*/
String.prototype.isInt = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^[-\+]?\d+$/)>-1)?true:false;
}
/*
* 判断字符串是否为正数格式。
*/
String.prototype.isPositive = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^[\+]?\d+(\.?\d+)?$/)>-1)?true:false;
}
/*
* 判断字符串是否为完整的网址格式(含http://)。
*/
String.prototype.isIntactUrl = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^http(s)?:\/\/([\w-]+\.)+[\w-]+(:[0-9]*)?(\/[\w- .\/?%&=]*)?$/)>-1)?true:false;
}
/*
* 判断字符串是否为网址格式(不含http://)。
*/
String.prototype.isUrl = function(){
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^([\w-]+\.)+[\w-]+(:[0-9]*)?(\/[\w- .\/?%&=]*)?$/)>-1)?true:false;
}
/*
* E-mail to verify whether the format string
*/
String.prototype.isEmail = function()
{
    if (arguments.length !== 0) throw Error.parameterCount();
    return (this.search(/^[^\s]+?@(([a-zA-Z0-9_]|\-)+\.)+[a-zA-Z]{2,}$/)>-1)?true:false;
}
/*
* 格式化字符串
*/
function StringFormat(string){
    var args = arguments;
    var pattern = new RegExp('%([0-' + (args.length-1) + '])', 'g');
    return String(string).replace(pattern, function(match, index) {
        return args[index];
    });
}
/*
* 连接字符串
*/
function StringBuilder(){
    var _charList = new Array();
    this.append = function append(string){
        _charList.push(string);
    }
    this.toString = function(){
        return _charList.join('');
    }
}
/*
* 验证字符串是否null或空
*/
function StringIsNullOrEmpty(string){
    return (string==null||string.replace(/^\s+|\s+$/g, "").length==0)?true:false;
}
/*
* 独特化URL
*/
function UniqueURL(url){
    if("string" == typeof url){
        if(url.search(/\?/)>-1){
            url+="&r="+Math.random();
        }
        else{
            url+="?r="+Math.random();
        }
        return url;
    }
}